[Сервер] Технический регламент аудита и оптимизации операционной системы Debian 13

Данный документ содержит последовательность действий для проверки текущего состояния системы и последующего внесения изменений с целью повышения производительности и стабильности сервера.

1. Мониторинг и оптимизация лимитов дескрипторов файлов

Низкие лимиты могут приводить к ошибкам типа «Too many open files» при высокой сетевой нагрузке.

Проверка текущего состояния:
Введите команду: 

ulimit -n

Процедура коррекции:
Откройте конфигурационный файл: 

nano /etc/security/limits.conf

Добавьте в конец файла следующие строки:

* soft nofile 65535
* hard nofile 65535
root soft nofile 65535
root hard nofile 65535

2. Управление виртуальной памятью (Swappiness)**

Регулировка параметра swappiness позволяет оптимизировать использование оперативной памяти и минимизировать обращения к дисковой подсистеме.

Проверка текущего состояния:
Введите команду: 

cat /proc/sys/vm/swappiness

Процедура коррекции:

Откройте файл системных переменных: 

nano /etc/sysctl.conf 

Добавьте или измените строку:

vm.swappiness = 10

[!info] Техническое примечание
Значение 10 идеально подходит для систем с 1–4 ГБ RAM, так как заставляет систему приоритетно использовать физическую память. Если объём RAM менее 1 ГБ, допустимо оставить стандартное значение 60. Для систем с 8 ГБ RAM и выше можно снижать параметр до 1–5.

3. Настройка сетевого стека и параметров TCP/IP

Комплексная оптимизация для ускорения обработки входящих соединений и эффективного закрытия сессий.

Проверка текущих сетевых параметров:
Введите команду: 

sysctl net.ipv4.tcp_fin_timeout net.ipv4.ip_local_port_range net.core.netdev_max_backlog

Процедура коррекции:
В файле :

nano /etc/sysctl.conf 

добавьте следующие параметры:

net.ipv4.tcp_fin_timeout = 15
net.ipv4.ip_local_port_range = 1024 65535
net.core.netdev_max_backlog = 5000

Для мгновенного применения всех изменений в /etc/sysctl.conf выполните команду: 

sysctl -p

4. Контроль планировщика ввода-вывода (I/O Scheduler)

Выбор планировщика критичен для минимизации задержек виртуальных дисков.

Проверка текущего состояния:

Введите команду, соответствующую типу вашего накопителя:

# 1. Для виртуальных дисков VIRTIO (чаще всего на VPS):
cat /sys/block/vda/queue/scheduler

# 2. Для дисков SATA/SSD/SCSI:
cat /sys/block/sda/queue/scheduler

# 3. Для современных накопителей NVMe:
cat /sys/block/nvme0n1/queue/scheduler

5. Идентификация системных характеристик

Для фиксации базового состояния системы в Obsidian используйте следующие команды:

uname -a
df -hT
sysctl net.ipv4.tcp_congestion_control

6. Применение изменений и верификация

Для того чтобы все внённые правки (особенно лимиты файловых дескрипторов и параметры ядра) вступили в силу для всех системных служб и текущих сессий, необходимо выполнить перезагрузку сервера.

Процедура:

  1. Примените параметры ядра (если не сделали этого ранее):
sysctl -p
  1. Выполните полную перезагрузку системы:
reboot

[!ВНИМАНИЕ] Важно
Изменения в limits.conf не подхватываются «на лету» для уже запущенных процессов. Перезагрузка – самый надёжный способ убедиться, что новые лимиты применились ко всей инфраструктуре сервера. После перезагрузки проверьте статус ключевых параметров.